CodeIgniter-এ ইমেইল পাঠানোর জন্য Email Class ব্যবহার করা হয়। তবে কখনো কখনো ইমেইল পাঠানোর সময় কিছু ত্রুটি (error) হতে পারে, যেমন SMTP সংযোগ ত্রুটি, ইমেইল সেটিংস ভুল, বা নেটওয়ার্ক সমস্যা। এই ত্রুটিগুলো চিহ্নিত করা এবং সঠিকভাবে হ্যান্ডল করা গুরুত্বপূর্ণ।
CodeIgniter-এ ইমেইল পাঠানোর সময় ত্রুটিগুলো হ্যান্ডল করতে এবং তাদের সম্পর্কে তথ্য পেতে আপনাকে কিছু পদক্ষেপ অনুসরণ করতে হবে।
প্রথমে, CodeIgniter-এ ইমেইল পাঠানোর জন্য Email Class লোড করতে হবে।
$this->load->library('email');
তারপর, আপনার ইমেইল কনফিগারেশন সেট করতে হবে।
$config['protocol'] = 'smtp'; // SMTP প্রোটোকল ব্যবহার করা
$config['smtp_host'] = 'smtp.example.com'; // SMTP সার্ভারের হোস্ট
$config['smtp_user'] = 'your_email@example.com'; // SMTP ইউজারনেম
$config['smtp_pass'] = 'your_password'; // SMTP পাসওয়ার্ড
$config['smtp_port'] = 587; // SMTP পোর্ট (587, 465, বা 25)
$config['mailtype'] = 'html'; // ইমেইল টাইপ (HTML অথবা text)
$config['charset'] = 'utf-8'; // ক্যারেক্টার সেট
$this->email->initialize($config);
ইমেইল পাঠানোর সময় ত্রুটি হ্যান্ডল করতে email->send()
মেথডে যদি কোনো ত্রুটি ঘটে, তবে আপনি email->print_debugger()
মেথড ব্যবহার করে বিস্তারিত ত্রুটির বার্তা পেতে পারেন।
$this->email->from('your_email@example.com', 'Your Name');
$this->email->to('recipient@example.com');
$this->email->subject('Test Email');
$this->email->message('This is a test email.');
if ($this->email->send()) {
echo "Email sent successfully!";
} else {
// ইমেইল পাঠানোর সময় ত্রুটি হলে
echo "Error in sending email: " . $this->email->print_debugger();
}
এখানে print_debugger()
মেথড ইমেইল পাঠানোর সময় ঘটে যাওয়া ত্রুটির বিস্তারিত তথ্য প্রদান করবে, যেমন:
print_debugger()
আউটপুটprint_debugger()
মেথডের আউটপুট কিছু এভাবে হতে পারে:
Array
(
[0] => 220 smtp.example.com ESMTP Exim 4.94.2 Wed, 15 Dec 2021 12:00:00 +0000
[1] => EHLO example.com
[2] => 250-smtp.example.com Hello example.com [192.168.0.1]
[3] => 250-STARTTLS
[4] => 250-SIZE 52428800
[5] => 250-PIPELINING
[6] => 250-8BITMIME
[7] => 250-AUTH LOGIN PLAIN
[8] => 250 HELP
[9] => AUTH LOGIN
[10] => 334 VXNlcm5hbWU6
[11] => <base64-encoded-string>
[12] => 334 UGFzc3dvcmQ6
[13] => <base64-encoded-string>
[14] => 235 Authentication succeeded
[15] => MAIL FROM:<your_email@example.com>
[16] => 250 OK
[17] => RCPT TO:<recipient@example.com>
[18] => 250 OK
[19] => DATA
[20] => 354 Enter message, ending with "." on a line by itself
[21] => <email-data>
[22] => .
[23] => 250 OK id=1fBvpo-0001dG-Kz
)
এটি আপনাকে SMTP সার্ভারের প্রতিটি ধাপ এবং ইমেইল পাঠানোর প্রক্রিয়া দেখতে সহায়তা করবে। এর মাধ্যমে আপনি সহজেই বুঝতে পারবেন কেন ইমেইল পাঠানো যাচ্ছে না (যেমন: Authentication failed, Invalid recipient address, SMTP server error ইত্যাদি)।
TLS/SSL Issues
smtp_crypto
কনফিগারেশন পরিবর্তন করতে হতে পারে:$config['smtp_crypto'] = 'tls'; // বা 'ssl'
email->print_debugger()
মেথড ব্যবহার করা হয়, যা বিস্তারিত ত্রুটি বার্তা প্রদান করে।Read more